package com.example.store.interceptor;


import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**定义一个拦截器*/
public class LoginInterceptor implements HandlerInterceptor {
    /**
     * 检测全局session是否有uid数据如果有则放行，如果没有则重定向到login页面
     * @param request 请求对象
     * @param response 相应对象
     * @param handler 处理器（url+contronller）映射
     * @return 如果返回值为true则放行请求，false则拦截请求
     * @throws Exception
     */
    @Override
    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response,
                             Object handler) throws Exception {
        //通过request对象获取session对象
        Object obj = request.getSession().getAttribute("uid");
        if(obj==null){
            response.sendRedirect("/web/login.html");
            //结束后续的调用
            return false;
        }
        return true;
    }
}
